package com.band.mapper;

import com.band.entity.Emp;
import com.band.entity.EmpLoginInfo;
import com.band.entity.EmpQueryParam;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface EmpMapper {
    /**
     * 查询员工列表
     * @param param 查询参数
     * @return 员工列表
     */
    List<Emp> list(EmpQueryParam param);

    /**
     * 查询所有员工
     * @return
     */
    List<Emp> list();

    /**
     * 删除员工
     * @param ids 员工id列表
     */
    void delete(List<Integer> ids);

    /**
     * 新增员工
     * @param emp 员工信息
     */
    void insert(Emp emp);

    /**
     * 根据id查询员工信息
     * @param id 员工id
     * @return 员工信息
     */
    Emp select(Integer id);

    /**
     * 更新员工信息
     * @param emp 员工信息
     */
    void update(Emp emp);

    /**
     * 查询员工性别数据
     * @return 性别数据
     */
    @MapKey("name")
    List<Map> empGenderData();

    @MapKey("pow")
    List<Map> empJobData();

    Emp login(Emp emp);
}
